package com.by.rpc.annotation;

import java.lang.annotation.*;

/**
 * API端点注解，用于标记对外HTTP API服务的Controller类
 * 该注解会自动扫描Controller中的所有@RequestMapping及其衍生注解的方法，
 * 并将这些接口信息注册到服务注册中心，供网关进行路由
 * 
 * 注意：此注解仅用于对外HTTP API服务，不应用于RPC服务
 * RPC服务应使用@RpcService注解
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ApiEndpoint {
    /**
     * 服务名称，默认为空，将使用类名作为服务名
     */
    String serviceName() default "";

    /**
     * 服务版本号
     */
    String version() default "1.0.0";

    /**
     * 服务分组
     */
    String group() default "default";
}